"""
递归实践：
    获取多级目录下的所有文件
"""

import os


def test_os():
    """
    os模块的三个基础方法
    :return:
    """
    file_path = "../my_file"
    print(os.listdir(file_path))  # 列出路径下的内容
    print(os.path.isdir(file_path))  # 判断指定路径是不是文件夹
    print(os.path.exists(file_path))  # 判断指定路径是否存在


def get_files_recursion_from_dir(path):
    """
    从指定文件夹下使用递归的方式，获取全部的文件列表
    :param path: 文件夹路径
    :return: list 文件列表
    """
    res_list = []
    if os.path.exists(path):
        for f in os.listdir(path):
            new_path = path + "/" + f
            if os.path.isdir(new_path):
                res_list += get_files_recursion_from_dir(new_path)
            else:
                res_list.append(new_path)
    else:
        print(f"指定的目录{path},不存在")
    return res_list


if __name__ == '__main__':
    from_dir_file_list = get_files_recursion_from_dir("../my_file")
    print(from_dir_file_list)
